Автоматически соберёт и опубликует image на приватный registry docker.
// Ранее WHC и другие боты дискорд работали и раскатывались именно по этому способу
dpublick() {
local name=$1
local address="10.0.1.20:5000/$name"
sudo docker build -t $address .
sudo docker push $address
}
Для проектов GitLab в которых есть множества различных submodule было куда проще скачать и запушить их рекурсивно при обновлении
alias git-pull-all='git pull && git submodule update --init --recursive && git submodule foreach --recursive git pull origin $(git rev-parse --abbrev-ref HEAD)'
alias git-push-all='git submodule foreach --recursive git push && git push'
Алиас pgit был нужен т.к. для локальной разработки использовался git через прокси. Прописывать каждый раз proxychains git задача та ещё заурядная, pgit стал моим спасением
alias pgit='proxychains git'
Почти все VDS/VPS сервера дают доступ по root + пароль. Схема не безопасно, но обезапасить её проще всего включением входа по ключу. Этот скрипт автоматически включает вход по ключу ~/.ssh/id_rsa.pub (замени для себя) и перезагружает сервер. Первая команда выполняемая мной на новосозданном сервере VDS/VPS
function ssh-servergen() {
if [ "$#" -ne 1 ]; then
echo "Использование: ssh-servergen <пользователь@сервер>"
return 1
fi
SERVER=$1
KEY_PATH=~/.ssh/id_rsa.pub
echo "Копируем ключ на сервер..."
ssh-copy-id -i "$KEY_PATH" "$SERVER"
if [ $? -ne 0 ]; then
echo "Не удалось скопировать ключ. Проверьте параметры."
return 1
fi
echo "Отключаем вход по паролю..."
ssh "$SERVER" << EOF
sed -i 's/^#\\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#\\?ChallengeResponseAuthentication.*/ChallengeResponseAuthentication no/' /etc/ssh/sshd_config
sed -i '/^#\\?PermitRootLogin/s/^.*$/PermitRootLogin without-password/' /etc/ssh/sshd_config
sed -i '/^PermitRootLogin/s/^[^#].*$/PermitRootLogin without-password/' /etc/ssh/sshd_config
systemctl restart sshd
EOF
if [ $? -ne 0 ]; then
echo "Не удалось отключить вход по паролю."
return 1
fi
echo "Перезагружаем сервер..."
ssh "$SERVER" reboot
if [ $? -ne 0 ]; then
echo "Не удалось перезагрузить сервер."
return 1
fi
echo "Скрипт выполнен успешно."
}